Authorized location monitoring and notifications therefor

ABSTRACT

Techniques for location tracking, location utilization, and dissemination and management of location information are disclosed. As a location monitoring system, one embodiment includes at least a plurality of mobile computing devices supported by a wireless network, and a computing device coupled to a wired network (e.g., the Internet) that couples to the wireless network. Each of the mobile computing devices is associated with and proximate to an object whose location is being monitored. The computing device stores the locations of each of the mobile computing devices or the objects proximate thereto, and enables only authorized users to obtain access the locations via the wired network.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a divisional of U.S. patent application Ser. No. 14/493,550, filed Sep. 23, 2014, and entitled “METHOD AND SYSTEM FOR AUTHORIZED LOCATION MONITORING”, now U.S. Pat. No. ______, which is hereby incorporated by reference herein, which in turn is a continuation application of U.S. patent application Ser. No. 13/831,493, filed Mar. 14, 2013, and entitled “METHOD AND SYSTEM FOR AUTHORIZED LOCATION MONITORING”, now U.S. Pat. No. 8,868,103, which is hereby incorporated by reference herein, which in turn is a continuation application of U.S. patent application Ser. No. 12/150,203, filed Apr. 26, 2008, and entitled “METHOD AND SYSTEM FOR AUTHORIZING LOCATION MONITORING”, now U.S. Pat. No. 8,700,050, which is hereby incorporated by reference herein, which in turn is a divisional application of U.S. patent application Ser. No. 09/797,517, filed Feb. 28, 2001, and entitled “METHOD AND SYSTEM FOR LOCATION TRACKING”, now U.S. Pat. No. 7,366,522, which is hereby incorporated by reference herein, and which application claims the benefit of U.S. Provisional Patent Application No. 60/185,480, filed Feb. 28, 2000, and entitled “METHOD AND SYSTEM FOR LOCATION TRACKING”, which is hereby incorporated by reference herein.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to computing or communication devices and, more particularly, to location tracking of computing or communication devices.

2. Description of the Related Art

Today, various types of or computing devices having communication capabilities (e.g., wireless communication devices) are available. Examples of computing devices having communication capabilities include pagers, mobile phones, personal digital assistants (PDAs), palm-top computers, and electronic schedulers.

Recently, computing devices have been able to detect their location though Global Positioning Satellites (GPS) or with the assistance of a network (e.g., cellular network). As an example, U.S. Pat. No. 5,959,557 describes a system in which a GPS receiver is used to measure a position of a mobile unit (i.e., vehicle), and reports the position on a map. However, such conventional approaches do not allow for control and general utilization of the position information.

Thus, there is a need for ways to utilize position information of mobile computing devices.

SUMMARY

Broadly speaking, the invention relates to techniques for location tracking, location utilization, and dissemination and management of location information.

Techniques for location tracking, location utilization, and dissemination and management of location information are disclosed. As a location monitoring system, one embodiment includes at least a plurality of mobile computing devices supported by a wireless network, and a computing device coupled to a wired network (e.g., the Internet) that couples to the wireless network. Each of the mobile computing devices is associated with and proximate to an object whose location is being monitored. The computing device stores the locations of each of the mobile computing devices or the objects proximate thereto, and enables only authorized users to obtain access the locations via the wired network.

The invention can be implemented in numerous ways including, a method, system, device, and a computer readable medium. Several embodiments of the invention are discussed below.

As a method for monitoring position of a plurality of objects, each of the objects being or having a mobile computing device proximate thereto, one embodiment includes at least the acts of: obtaining locations for the mobile computing devices and thus the objects proximate thereto; receiving a request to view the location pertaining to a particular one or more of the objects; and delivering a response to the request, the response including the location pertaining to the particular one or more of the objects.

As a method for monitoring position of a plurality of objects, each of the objects being or having a mobile computing device proximate thereto, one embodiment includes at least the acts of: obtaining locations for the mobile computing devices and thus the objects proximate thereto; comparing the locations against at least one predetermined location criteria; and sending an electronic notification to a predetermined destination based on the comparing.

Other aspects and advantages of the invention will become apparent from the following detailed description taken in conjunction with the accompanying drawings which illustrate, by way of example, the principles of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention will be readily understood by the following detailed description in conjunction with the accompanying drawings, wherein like reference numerals designate like structural elements, and in which:

FIG. 1 is a block diagram of location monitoring system according to one embodiment of the invention;

FIG. 2 is a flow diagram of client-side location processing according to one embodiment of the invention;

FIG. 3 is a flow diagram of server-side location management processing according to one embodiment of the invention;

FIG. 4 is a flow diagram of server-side location processing according to one embodiment of the invention;

FIG. 5A is a diagram of an exemplary authorization table in a location database;

FIG. 5B is a diagram of an exemplary location table in a location database;

FIG. 6 is a flow diagram of server-side location monitoring processing; and

FIGS. 7A and 7B are flow diagrams of server-side registration processing.

DETAILED DESCRIPTION OF THE INVENTION

The invention pertains to techniques for location tracking, location utilization, and dissemination and management of location information.

Embodiments of this aspect of the invention are discussed below with reference to FIGS. 1-7B. However, those skilled in the art will readily appreciate that the detailed description given herein with respect to these figures is for explanatory purposes as the invention extends beyond these limited embodiments.

FIG. 1 is a block diagram of location monitoring system 100 according to one embodiment of the invention. A location monitoring server 102 manages location information pertaining to a plurality of mobile units 104. The mobile units are typically attached to objects, such as people, vehicles, or containers. A wireless network 106 enables the mobile units 104 to communicate with the location monitor server 102. In one embodiment, the wireless network 106 couples to the Internet 108 (or other data network). The location monitoring server 102 also couples to the Internet 108. Location information associated with the mobile units 104 is thus able to be delivered to the location monitoring server 102 through the wireless network 106 and the Internet 108. A location database 110 coupled to the location monitoring server 102 can store the location information for the mobile units 104. The location monitoring server 102 is then able to utilize the location information by accessing the data stored in the location database 110. The location database 110 can reside on the location monitoring server or a separate local or remote computer.

The location monitoring system 100 can also include remote computers 112 and 114 that can couple to the Internet 108 through various means. Once coupled to the Internet 108, the remote computers 112 and 114 can access the location monitoring server 102 to receive location related services or to otherwise make use of the location information.

Each mobile unit can obtain location information on its location and forward the location information to the location monitoring server (web server). The location information can be forwarded to the location monitoring server by a variety of ways. One way is through use of a Short Message Service (SMS) message. The location information can also be obtained by a variety of methods. One method is to provide a Global Positioning Satellite (GPS) device within the mobile units. With GPS, the location information obtained can be distances to a plurality of global positioning satellites or can be a determined location from processing of the distances. When only the distances are provided, then the mobile unit merely sends the distances and need not perform processing to determine the location from the distances (instead a server can do so). Another method is to use location information obtained from a wireless network. With this method, the wireless network can provide location information on some or all of said mobile computing devices to the location monitoring server. In this case, the mobile units need not participate in obtaining the location information. As yet another method, a combination of these or other methods can be used to gather an accurate location for the mobile devices. For example, the location monitoring server could be provided with location information provided from the wireless network as well as location information provided by the mobile units themselves. By using the location information from both sources, more accurate and reliable location determination is able to be performed.

FIG. 2 is a flow diagram of client-side location processing 200 according to one embodiment of the invention. The client-side location processing 200 is performed on a client device, such as the mobile units 104 illustrated in FIG. 1.

The client-side location processing 200 initially powers-up 204 the location detection hardware within the client device. Next, the current location of the mobile communication device (client device) is determined 206. A decision 208 then determines whether the current location (CL) is greater than the previous location (PL) by more than a delta amount (A). When the decision 208 determines that the current location is not greater than the previous location by more than the delta amount, the current location is sent 208 to the location monitoring server. Here, the current location can be sent to the location monitoring server in a variety of different electronic ways. These ways include email, file transfer, etc. Then, the previous location is set 210 equal to the current location. Following the operation 210, as well as directly following the decision 208 when the current location does not exceed the previous location by more than the delta amount, the location detection hardware within the mobile communication devices is powered-down 212. Following the operation 212 the client-side location processing 200 is complete and ends.

According to this embodiment, the client device powers up to send its current location to a location monitoring server and then powers down to conserve power usage. In the embodiment shown in FIG. 2, the current location is sent to the location monitoring server only when it differs from the previous location by more than a predetermined amount. This conserves not only network bandwidth but also power usage at the client device.

Alternatively, the new location could be determined and/or sent only after a sensor internal to the client device (mobile unit) indicates that it has undergone significant movement since the previous location was obtained. A wide variety of sensors can be used. For example, motion sensors are readily available that indicate distances walked or run. Using such a sensor would reduce the frequency with which the new location should be determined and/or transmitted, thus saving network bandwidth and conserving power consumption. Such a motion sensor can be built into the client device, then if minimal motion detected, then no location detection need be triggered (or triggered less frequently). This provides automatic shut down of circuitry within the client device when the client device is not moving, in the evening (e.g., user sleeping), in a meeting, in one's office at work, etc.

As another alternative, invoking of the client-side location processing 200 can be performed periodically in accordance with a predetermined period. The predetermined period for the periodic location determination can vary with time of day and day of week. For example, the location determination can be made more frequently during the day and less frequently in the evening. As a further example, different predetermined period can be assigned for different days of the week.

As still another alternative, the client-side location processing 200 can be invoked only when a thermal sensor provided with the client device indicates that the mobile device is being worn by its user. Here, the thermal sensor could be utilized to effectively turn off the location monitoring or transmission circuitry and thus conserve power when the client device is not being worn by its user.

As yet still another alternative, the location monitoring server or some other server could send a request for location information to a client device and thus invoke the acquisition of the current location on the client device. In this regard, the request for the location information could be sent to the client devices only when such information is being remotely monitored by another. Such techniques would also facilitate conservation of power utilization on the client device as well as network bandwidth.

The determination of the location of the client device can thus be triggered or invoked by the client device itself or a location monitoring server (or other remote server) using any of a variety of ways (used separately or in combination). The location of the client device (mobile device) can be determined by the client device itself (e.g., using GPS), by a wireless network infrastructure, or through a combination of both.

FIG. 3 is a flow diagram of server-side location management processing 300 according to one embodiment of the invention. The server-side location management processing 300 begins with a decision 302 that determines whether a location update message has been received. Here, the location update message is a message being sent to the location monitoring server by a particular one of the mobile units. When the decision 302 determines that a location update message has been received, then server-side location processing is performed 304. The server-side location processing is able to determine the location of the mobile unit (mobile communication device) and store the location into a location database, such as the location database 110 as illustrated in FIG. 1. Additionally, the server-side location processing can notify interested registered viewers. Additional information on the server-side location processing is discussed below with respect to FIG. 4.

On the other hand, when the decision 302 determines that a location update message has not been received, then a decision 306 determines whether a location monitoring request has been received. When the decision 306 determines that a location monitoring request has been received, server-side location monitoring processing is performed 308. As an example, a location monitoring request is received by remote computer, such as one of the computers 112 and 114 illustrated in FIG. 1. The server-side location monitoring processing is able to provide viewers (e.g., registered viewers at the remote computers) with location or position of the one or more mobile units (or associated objects) of interest. The server-side location monitoring processing is further discussed below with respect to FIG. 6.

Alternatively, when the decision 306 determines that a location monitoring request has not been received, then a decision 310 determines whether a registration request has been received. Typically, the registration request would be received at the location monitoring server and would have been sent by one of the remote computers 112 or 114 (or their users). In any case, when the decision determines that a registration request has been received, server-side registration processing is performed 312. The server-side registration processing generally operates to register a user, or the user's computer, for use with the location monitoring system such that location information is able to be accessed and viewed on the viewer's computer. In this regard, various features provide for the mobile users to control who is able to view their location, as well as to send alerts or notifications to authorized registered viewers when certain location-based events occur. Additional details on the server-side registration processing are discussed below with respect to FIGS. 7A and 7B.

Following the operations 304, 308 and 312, the server-side location management processing 300 is complete and ends. However, the server-side location management processing 300 is effectively invoked when an incoming message or request is received at the location monitoring server.

Although not shown in FIG. 3, when a location monitoring request is received from a monitoring party, prior to performing the server-side location monitoring processing, the monitoring party must login with an appropriate user name and/or password. This allows restricted access to the location information. In one embodiment, the users of the mobile units can control whether monitoring parties are given access to their location information by authorizing certain monitoring parties.

FIG. 4 is a flow diagram of server-side location processing 400 according to one embodiment of the invention.

The server-side location processing 400 is, for example, performed by a location monitoring server, such as the location monitoring server 102 illustrated in FIG. 1. The server-side location processing 400 initially receives 402 location information. Typically, the location information is received from a mobile communication device (mobile unit) and/or a carrier network (e.g., wireless network). Next, the location of the mobile communication device is determined 404 based on at least the location information. Here, the location information could itself be sufficient to enable the determination of the location of the mobile communication device. Alternatively, the location information could be combined with other information in order to determine the location of the mobile communication device (or to more accurately determine the location of the mobile communication device). In another embodiment, the location information could actually indicate the location. In any case, once the location of the mobile communication device has been determined 404, the location is stored 406 in a location database. As an example, the location database can be the location database 110 illustrated in FIG. 1.

Next, a decision 408 determines whether a notification is needed. Here, the server-side location processing 400 is able to send notifications to registered viewers as appropriate. The decision 408 determines whether a notification is needed to inform one or more registered viewers about the location information that has just been received and processed. Hence, when the decision 408 determines that a notification is needed, a notification message is prepared 410. Then, the notification message is send 412 to the one or more appropriate registered viewers. Following the operation 412, as well as directly following the decision 408 when no notifications are needed, the server-side location processing 400 is complete and ends.

As noted above, the server-side location processing 400 includes the decision 408 that determines whether any notification is needed. Here, based on the location of the mobile communication device, various notifications can be initiated. The various notifications can, for example, alert of a predetermined location, alert of an unauthorized region, alert of change in location, etc. The notification can be sent to the monitoring party through an email message (including two-way pager message), an instant response web-based message, through a web page provided at the mobile communication device, telephone message, and the like.

FIG. 5A is a diagram of an exemplary authorization table 500 in a location database. The exemplary authorization table 500 includes a row of information for each mobile device being monitored. Each row contains information on: mobile device identifier, user, supervisor (monitoring party), password, and whether logged in.

FIG. 5B is a diagram of an exemplary location table 550 in a location database. The exemplary location table 550 includes a row of location information for each of the mobile devices being monitored. Each row contains information on: mobile device identifier, current location, and previous location. The location can include much more historical information to keep a log of the locations of the mobile device over an extended period of time (e.g., day, week, month, year).

FIG. 6 is a flow diagram of server-side location monitoring processing 600 according to one embodiment of the invention. The server-side location monitoring processing 600 begins with a decision 602 that determines whether a requesting viewer (monitoring party) has logged-in. Here, typically a request is received from a requesting viewing that seeks to either to log-in or to receive a location page. Hence, the decision 602 initially determines whether the requesting viewer is logged-in. When the decision 602 determines that the requesting viewer is not yet logged-in, then a log-in page is sent 604 to the requesting viewer. Then, a decision 606 waits for a log-in response. When the decision 606 determines that a log-in response has not yet been received, the server-side location monitoring processing 600 effectively awaits a log-in response (or a suitable time-out). Once the decision 606 determines that a log-in response has been received, then a decision 608 determines whether the log-in is successful. When the decision 608 determines that the log-in is not successful, then the server-side location monitoring processing 600 is complete and ends with the requesting viewer being denied access to the location related information. On the other hand, when the decision 608 determines that the log-in has been successful, as well as directly following the decision 602 when the requesting viewer is already logged-in, the location for the associated mobile communication device (mobile unit) is retrieved 610. As an example, the location can be retrieved from the location database 110 by the location monitoring server 102 illustrated in FIG. 1. Then, a location page using the retrieved information can be formed 612. Here, the location page represents the formatting of the location information into a suitable format, such as a document, that can be delivered to the requesting viewer. As an example, the location page can be a marked-up language document such as HTML, XML, HDML, or other markup language. The location page can also be customized for the type of computing device being utilized by the requesting viewer. Then, the location page is sent 614 to the requesting user. Following the operation 614, the server-side location monitoring processing 600 is complete and ends with the requesting viewer having received the requested location information.

Following successful login by a requesting viewer (monitoring party), the location for the mobile communication device that the requesting viewer has been authorized to receive is able to be retrieved. Then, the location is provided (i.e., sent) to the requesting viewer. In one embodiment, the location is part of a web page that is sent to the requesting viewer.

A server-side registration processing allows a viewer (requesting viewer) to request to view the location of a particular mobile communication device or it associated object. Access is denied if the viewer is not authorized. In one embodiment, the authorization can be controlled by the owner or user of the particular mobile communication device. The server-side registration processing also allows the viewer to set options. The options that can be set are numerous. Examples of the options include notifications or alerts, type of alert or notification (phone, pager, email, etc.), unauthorized or authorized locations, save history or not, labels for different locations (e.g., home, school, work, etc.). By saving the history (i.e., location history), the viewer is able to subsequently examine a history of movement. The history of movement can be presented to the viewer in textual or graphical formats.

FIGS. 7A and 7B are flow diagrams of server-side registration processing 700 according to one embodiment of the invention. The server-side registration processing is, for example, performed by the location monitoring server 102 illustrated in FIG. 1.

The server-side registration processing 700 initially sends 702 a viewer registration form to a user attempting to register with the location monitoring server. As an example, the viewer registration form can be delivered to a computer associated with the user over the Internet and be displayed in a browser application associated with the user's computer. After the viewer registration form has been sent 702 to the viewer, a decision 704 determines whether the registration form has been submitted. Here, the server-side registration processing 700 is awaiting the return of the viewer registration form. When the decision 704 determines that the viewer registration form has not been returned, then the server-side registration processing 700 awaits its submission. On the other hand, when the decision 704 determines that the viewer registration form has been submitted (or times-out), then the mobile communication device to be monitored is identified 706. The mobile communication device to be monitored can be identified 706 from the information provided in the viewer registration form or from other information obtained from the viewer (e.g., from a separate page or form submitted by the viewer).

Next, a decision 708 determines whether monitoring of the particular mobile communication device has been pre-authorized. When the decision 708 determines that the monitoring for the particular mobile communication device has not been pre-authorized, then a monitoring request message is prepared 710. The monitoring request message is then sent 712 to the particular mobile communication device identified 706. At this point, the server-side registration processing 700 is effectively waiting for a reply from the particular mobile communication device or its user as to whether or not the requested monitoring is authorized. When a decision 714 receives a reply to the request for authorization, then a decision 716 determines whether the reply has authorized monitoring. When the decision 716 determines that monitoring has not been authorized (i.e., monitoring has been denied) then a monitoring denied message/page is sent 718 to the viewer. Thereafter, a server-side registration processing 700 is complete and ends.

Following the decision 716 when the monitoring has been authorized, as well as directly following the decision 708 when the monitoring has been pre-authorized, a monitoring authorized message/page is sent 720 to the viewer. The monitoring authorized message/page informs the viewer that the requested monitoring of the particular mobile communication device or its associated object has been approved. Then, registration information for the registered viewer is stored 722.

Thereafter, whenever a registered user desires to set options with respect to the manner in which they monitor location of mobile communication devices or its associated object, such registered viewers can complete and submit an options form. Hence, a decision 724 determines whether an options form request has been received. When the decision 724 determines that an options form request has not been received, then a decision 726 determines whether the server-side registration processing 700 is complete. When the decision 726 determines that the registration is complete (done), then the server-side registration processing 700 is complete and ends. On the other hand, when the decision 726 determines that the server-side registration processing 700 is not complete, then the server-side registration processing 700 returns to repeat the operations following the operation 722.

Alternatively, when the decision 724 determines that an options form request has been received, then an options form is sent 728 to the registered viewer. Then, a decision 730 determines whether the options form has been submitted. When the decision 730 determines that the options form has not yet been submitted, then the server-side registration processing 700 awaits submission of such a form. When a decision 730 determines that the options form has been submitted, then the options information provided by the options form is stored 732 for the registered viewer. Following the operation 732, the server-side registration processing 700 returns to repeat the operations following the operation 722.

It should be noted that the server-side registration processing 700 need not wait for the form submission at operations 704 or 730, or the reply message at operation 714, but can instead utilize a database or other data store to store state information such that the server-side registration processing 700 can proceed efficiently without being blocked or held-up while waiting for feedback from viewers or users of mobile communication devices. Such is well know in the programming fields, particularly with Internet programming.

Still further the invention is suitable for tracking delivery or maintenance personnel or vehicles. When a delivery or service appointment is made, you can receive a code for the truck or person that is going perform the delivery or service. Then, on the delivery day (days) when the truck or person is to deliver to or service one's home or business, an alert message or notification can be sent to the requestor (e.g., home owner or office manager). As examples, the message or notification is electronic and include a page, email or telephone type messages or notifications. Hence, if the homeowner is impatiently waiting for the delivery, they can access the location of the truck or person that is to perform the delivery or service. Still further, the requestor may also obtain schedule information on the person or vehicle, and thus determine how many other are scheduled before you. The schedule could also be updated by the truck or person (or their business) to reflect an up-to-date version through out their day. Hence, the requestor is able to obtain additional information over the Internet without have to wait impatiently or having to phone the associated business for information.

The mobile unit (client device, mobile communications device or mobile computing device) is, for example, one of a pager, mobile phone, personal digital assistant, or reduced size portable computing device.

U.S. Pat. No. 5,959,557 is hereby incorporated herein by reference.

The invention can, at least partly, be embodied as computer readable code (computer readable program code) on a computer readable medium. The computer readable medium is any data storage device that can store data which can be thereafter be read by a computer system. Examples of the computer readable medium include read-only memory, random-access memory, CD-ROMs, magnetic tape, and optical data storage devices. The computer readable medium can also be distributed over a network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.

The advantages of the invention are numerous. Different embodiments or implementations may yield one or more of the following advantages. One advantage of the invention is that location of objects can be tracked via the Internet. Another advantage of the invention is that objects, such as persons, can control the dissemination of their location information. Another advantage of the invention is that alerts or notification can be triggered based on locations of objects. Another advantage of the invention is that mobile computing devices providing location monitoring capabilities are small (e.g., wearable) and offer low power consumption (e.g., long battery life). Another advantage of the invention is that embodiments can operate without user input or actions.

The many features and advantages of the present invention are apparent from the written description and, thus, it is intended by the appended claims to cover all such features and advantages of the invention. Further, since numerous modifications and changes will readily occur to those skilled in the art, it is not desired to limit the invention to the exact construction and operation as illustrated and described. Hence, all suitable modifications and equivalents may be resorted to as falling within the scope of the invention. 

1. A location monitoring system for managing location information pertaining to a plurality of mobile computing devices supported by a wireless network, each of the mobile computing devices being associated with and proximate to a corresponding object, said location monitoring system comprising: a computer configured to store locations of each of the mobile computing devices, and said computer enabling authorized users to access the locations of the mobile computing devices, wherein said computer determines whether notification should be sent to an authorized user based on the location of the mobile computing device corresponding to an object, and wherein said computer sends an electronic notification to the authorized user when it has been determined that notification should be sent to the authorized user.
 2. A location monitoring system as recited in claim 1, wherein said computer determines whether the location of the mobile computing device corresponding to the object is at one or more of one or more predetermined notification locations, and generates the electronic notification when it is determined that the location of the mobile computing device is at one or more of the one or more predetermined notification locations. 